var MAGIC_EDITOR_CONFIG = {
    request: {
        beforeSend: function(config){
            // 如果是基于Cookie验证的，此处可以不配。
            //config.headers.token = ...; // 此处自行获取Token
            var token = MAGIC_EDITOR_CONFIG.getMagicTokenValue();
            config.headers["Authorization"] = "Bearer " + token;

            console.log("req", config);
            return config;
        }

    },
    response: {
            onSuccess: function(config){
                // console.log("res:", config.data);
                try {
                    config.data.then((result) => {
                        if (result) {
                            var jsonRes = JSON.parse(result);
                            if (jsonRes && jsonRes.data && jsonRes.data.accessToken) {
                                localStorage.magicToken = jsonRes.data.accessToken;
                                localStorage.magicRefreshToken = jsonRes.data.refreshToken;
                                console.log("Promise 成功：", result);
                            }
                        }
                    }).catch((error) => {
                        console.error("Promise 失败：", error);
                    });
                }catch(e) {
                    console.log("ignore error");
                }

                // 定义请求参数
                var url = '/admin-api/system/auth/refresh-token?refreshToken=' + localStorage.magicRefreshToken;
                var data = {};
                var tenantId = '1';

                // 使用 fetch 发送 POST 请求
                fetch(url, {
                    method: 'POST', // 指定请求方法为 POST
                    headers: {
                        'tenant-id': tenantId,
                        "Authorization": "Bearer " + localStorage.magicToken,
                        'Content-Type': 'application/json' // 设置请求头，指定发送的数据为 JSON 格式
                    },
                    body: JSON.stringify(data) // 将 JavaScript 对象转换为 JSON 字符串
                })
                .then(response => {
                    if (!response.ok) {
                        throw new Error('Network response was not ok ' + response.statusText);
                    }
                    return response.json(); // 假设服务器返回的是 JSON 格式的数据
                })
                .then(data => {
                    console.log('Success =====>:', data); // 处理返回的数据
                    var jsonRes = data;
                    if (jsonRes && jsonRes.data && jsonRes.data.accessToken) {
                        localStorage.magicToken = jsonRes.data.accessToken;
                        localStorage.magicRefreshToken = jsonRes.data.refreshToken;
                        console.log("Promise 成功：", jsonRes);
                    }
                })
                .catch(error => {
                    console.error('There has been a problem with your fetch operation:', error);
                });

                //localStorage.token = config.data.data.accessToken
                return config;
            }
    },
    getMagicTokenValue: function(){
        var token = JSON.parse(localStorage.ACCESS_TOKEN).v; // 此处自行获取token
        token = token.split('"').join('');

        console.log("getMagicTokenValue");
        return token;
    }
}